Non-linear pwm controller

ABSTRACT

In one embodiment, the controller of these teachings includes a nonlinear controller component capable of providing an amplitude determining input signal to a control signal providing component, the control signal providing component providing output having a predetermined amplitude substantially over one time interval from a number of time intervals or output having a predetermined average amplitude substantially over one time interval from a number of time intervals, the amplitude determining input signal corresponding to at least one predetermined system state variable. The nonlinear controller component is operatively connected to receive as inputs at least one predetermined system state variable. A relationship between the amplitude determining input signal and at least one predetermined system state variable is obtained by a predetermined method.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation in part of U.S. patent application Ser. No. 11/558,790, entitled “NON-LINEAR PWM CONTROLLER FOR DC TO DC CONVERTERS,” filed on Nov. 10, 2006, which claims priority of U.S. Provisional Application 60/735,724 entitled “NON-LINEAR PWM CONTROLLER FOR DC TO DC CONVERTERS,” filed on Nov. 11, 2005, both of which are incorporated by reference herein in their entirety.

BACKGROUND

These teachings relates to control of systems. In many systems or interest, the system output has a low pass frequency response. One example of such system is a DC to DC converter. (Other examples include, but are not limited to, servo systems, automotive/aviation controls, disk drive memories, robotics, NCC manufacturing machines.)

Switching converters, of which DC to DC converters are one variety, are used to efficiently transform to voltage and currents at on level to voltage and current of a different level. Switching converters are particularly important when either high power or battery operation require high efficiency. Switching converters are pervasive throughout many consumer products they are in almost every ball everyday items such as cell phones PDAs personal computers extra. A key feature of the DC to DC converters is its small size and low cost. This is achieved through efficient design.

DC to DC converters are used to convert an input DC voltage to an output DC voltage. Such converters may step down (buck) or step up (boost) the input DC voltage (buck-boost converters are also possible).

Conventional power supplies use Pulse Width Modulation (PWM) modulation to control the power devices used in converters. To minimize the size of the outage capacitors and improve the rejection of the output voltage to load current steps, it is desirable to have the feedback bandwidth in a DC-to-DC converter be as large as possible. This is typically achieved by designing a linear compensated control loop with a large bandwidth. Unfortunately, one of the limitations that occur is that with a normal pulse width modulated or PWM control system is that the duty cycle cannot be less than 0% and not be more than 100%. As a result, the control loop operates its desired linear form for small disturbances but for large disturbances the behavior is suboptimal and in some cases can even become unstable. The result of this is a deliberate reduction in the linear compensator bandwidth to accommodate the effect of finite control effort.

In other applications, notably small servo motors, are not as concerned with power efficiency. In these applications, linear amplifiers may be used instead of PWMs. Linear power amplifiers are limited by the amplitude of their outputs. This limitation is similar to the 0% and 100% PWM duty cycle limitations.

There is a need to provide a controller that can operate well for large disturbances.

BRIEF SUMMARY

In one embodiment, the controller of these teachings includes a nonlinear controller component capable of providing an amplitude determining input signal to a control signal providing component, the control signal providing component providing output having a predetermined amplitude substantially over one time interval from a number of time intervals or an output having a predetermined average amplitude substantially over one time interval from a number of time intervals (as used herein, the phrase “output having a predetermined amplitude substantially over one time interval” refers to both an output having a predetermined amplitude and an output having a predetermined average amplitude), the amplitude determining input signal corresponding to at least one predetermined system state variable. The nonlinear controller component is operatively connected to receive as inputs at least one predetermined system state variable. A relationship between the amplitude determining input signal and at least one predetermined system state variable is obtained by a predetermined method.

Other embodiments of the controller of these teachings are also disclosed including embodiments in which at least some of the internal states of the system are estimated.

Embodiments of the apparatus of these teachings are also disclosed.

For a better understanding of the present invention, together with other and further needs thereof, reference is made to the accompanying drawings and detailed description and its scope will be pointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 a-1 d show a graphical schematic representation an embodiment of the nonlinear PWM controller of these teachings;

FIGS. 1 e, 1 f are block diagrams depicting a form of the conventional linear buck controller in ROM form;

FIG. 1 g is a graphical representation of output signals from the embodiment of the control signal providing component comprising a linear amplifier and a DAC;

FIG. 1 h is a graphical representation of an embodiment of a function relating the amplitude determining signal (duty cycle) to the state variables (capacitor voltage, inductor current);

FIGS. 2 a-2 f show a graphical schematic representations of embodiments of the controller of these teachings including a state estimator;

FIG. 3 shows a model of the buck regulator used in deriving one embodiment of the system of these teachings;

FIG. 4 depicts a optimal control surface over the state-space for an embodiment of the controller of these teachings;

FIG. 5 depicts the optimal control surface of an embodiment of the controller of these teachings as a gray-scale image mapped over state-space;

FIG. 6 shows the block diagram used in a simulation of an embodiment of the controller of these teachings;

FIGS. 7 a, 7 b and 7 c show a typical closed loop transient response for the above derived embodiment of the time-optimal controller of these teachings; and

FIGS. 8 a, 8 b and 8 c show exemplary results from a nonlinear buck control program utilizing the present teachings.

DETAILED DESCRIPTION

In one embodiment, the controller of these teachings includes a nonlinear controller component capable of providing an amplitude determining input signal to a control signal providing component, the control signal providing component providing output having a predetermined amplitude substantially over one time interval from a number of time intervals, the amplitude determining input signal corresponding to at least one predetermined system state variable. The nonlinear controller component is operatively connected to receive as inputs at least one predetermined system state variable. A relationship between the amplitude determining input signal and at least one predetermined system state variable is obtained by a predetermined method.

The present teachings can be applied to a variety of systems including, but not limited to, systems where the system output has a low pass frequency response. In the exemplary embodiment presented below, the system is a switching power converter, in particular a DC to DC converter. It should be noted that the present teachings are not limited to only this exemplary embodiment. While the load current is an output variable of interest in the DC to DC converter, it should be noted that the teachings illustrated in the exemplary embodiment disclosed herein below that relate to load current, such as estimation, can be applied to output variables of a system.

The nonlinear controller component of these teachings provides an amplitude determining signal (in one instance, a digital signal) as input to a control signal providing component. The control signal providing component provides output having a predetermined amplitude substantially over one time interval from a number of time intervals or, equivalently, an average predetermined amplitude substantially over one time intervals from a number of time intervals. Hereinafter, the above equivalent representations of the output of the control signal providing component are described by the first representation. In one instance, the teachings relate to digitally encoding analog control signals. In the exemplary embodiments shown below, the control signal providing component is a pulse width modulator (PWM) and the amplitude determining signal is a duty cycle. In a PWM, an average predetermined amplitude results from providing a predetermined duty cycle. It should be noted that these teachings are not limited only to this exemplary embodiment. For example, another exemplary embodiment of the control signal providing component is a linear amplifier and a DAC and the output of that exemplary embodiment is shown in FIG. 1 g.

One embodiment of the nonlinear controller of these teachings provides optimum response for both large and small load disturbances. In one instance, an embodiment of the system utilizes dynamic programming (see, for example, L. Pun, Introduction to Optimization Practice, ISBN 471-70233-1, pp. 173-194 and De Russo, Roy, Close, State Variables for Engineers, John Wiley and Sons, new York, N.Y., 1965, pp. 575-577, both of which are incorporated by reference herein). It should be noted that these teachings are not limited to the use of dynamic programming. A variety of optimization techniques can also be utilized. For example, one technique which can be used is based on model predictive control; another is derived from techniques used for generalized optimization problems, such as genetic programming, simulated annealing, exhaustive numerical search, and neural networks, among others. With model predictive control, the controller starts at its current location and figures out the optimum trajectory up to some future time (see, for example, Mayne, D. Q.; Michalska, H, Adaptive receding horizon control for constrained nonlinear systems, Proceedings of the 32nd IEEE Conference on Decision and Control, 1993, Date: 15-17 Dec. 1993, Pages: 1286-1291 vol. 2, which is incorporated by reference herein in its entirety). Using that trajectory, the system state at the next time step is computed, and the process repeated for every time step until the final time is reached.

In most optimization techniques, the optimization can be carried out subject to constraints. A number of practical constraints arise in the control and operation of switching power supplies. For example, constraints of maximum currents, output voltage tolerance arise in operation or design.

In one embodiment, one element of these teachings is the realization that the plant dynamics for switching (DC-to-DC) converters designed for high speed application (or for other systems of interest) in have a very short transient time, are inherently discreet time, and are typically only second order. These observations, taken together, allow dynamic programming to be applied to PWM switching converters.

In one embodiment, the dynamic programming technique can provide the optimum duty cycle at every point in time. This is done by working backwards in time from the equilibrium point and at each time step determining the best possible trajectory to reach the equilibrium point.

FIG. 1 a shows that an embodiment of the nonlinear PWM controller of these teachings. The switch and output voltages, combined with the inductor current and load current, are used to determine the correct duty cycle. The form of the nonlinear controller can be as simple as a lookup table or as complex as calculations done with the DSP. One exemplary analog embodiment includes a piece wise linear approximation using comparators. In another embodiment, the function providing the duty cycle from the state variables (the capacitor voltage and the inductor current in the exemplary embodiment shown in FIG. 1 a) is represented by a polynomial function of the state variables, as shown in FIG. 1 h. In one exemplary embodiment, these teachings not being limited to only that exemplary embodiment, the duty cycle is given by

Kv*Vc+Kv2*Vc²+Kv3*Vc³+Ki*ind+Ki2*ind²+Ki3*ind³.

In another exemplary embodiment, these teachings not being limited to only that exemplary embodiment, the duty cycle is given by

Kv*Vc+Kv2*sign(Vc)*Vc²+Kv3*Vc³+Ki*ind+Ki2*sign(ind)*ind²+Ki3*ind³.

In another exemplary embodiment, these teachings not being limited to only that exemplary embodiment, the duty cycle is limited to the maximum control effort. In that embodiment their duty cycle is given by

Kv*Vc+Kv2*sign(Vc)*Vc²+Kv3*Vc³+Ki*ind+Ki2*sign(ind)*ind²+Ki3*ind³.

if the value of the expression is greater or equal to zero and is less then or equal to 100% duty cycle, then the duty cycle is assigned the value of the expression. If the value of the expression is less than zero, the duty cycle is assigned to zero. If the value of the expression is greater than 100%, the duty cycle is assigned to 100%. (Here below, the term polynomial expression includes the exemplary embodiment utilizing a polynomial expression and limits on the maximum and/or minimum value.)

In many applications it may not be desirable to have direct measurement of all these parameters, for example inductor and load currents. Instead it is desirable to use a load current estimator (see US patent application publication 2007-0112443-A1, corresponding to U.S. patent application Ser. No. 11/553,917 (attorney docket 31953-104), both of which are hereby incorporated by reference in their entirety), to determine the missing state information. FIG. 2 a is a pictorial representation of such a system. With this embodiment, the estimator is a dynamic system and the nonlinear controller is still just a static function of the measurements and estimates.

The proposed state estimator is designed (by traditional techniques, such as, but not limited, least squares estimators, Bayesian estimators or by the techniques described in US patent application 2007-0112443-A1, corresponding to U.S. patent application Ser. No. 11/553,917 (attorney docket 31953-104), both of which are hereby incorporated by reference in their entirety) with augmented states to estimate load current as well. An embodiment of the system of these teachings including a state estimator 120 is shown in FIG. 2 a.

In some embodiments, the (adaptive in one embodiment) plant estimator component 120 utilizes the LMS algorithm in order to provide an estimate of the state variables of the Switching power supply 25. (For a description of the LMS algorithm, see, for example, S. Haykin, Introduction to Adaptive Filters, ISBN 0-02-949460-5, pp. 108-110, which is incorporated by reference herein.). In other embodiments, the (adaptive) plant estimator component 120 utilizes an RLS algorithm (for a description of the RLS algorithm, see, for example, S. Haykin, Introduction to Adaptive Filters, ISBN 0-02-949460-5, pp. 139-143, which is incorporated by reference herein).

As disclosed in U.S. patent application Ser. No. 11/553,917 (attorney docket 31953-104), in one embodiment, the controller of these teachings includes a sampling component capable of sampling an output signal from a system and an input signals from the system at a first sampling rate, the first sampling rate being at least equal to a predetermined operating rate, an input parameter obtaining component capable of receiving the output signal and the input signal sampled at the first sampling rate and of obtaining values for a plurality of input parameters, the values for the input parameters being sampled at the first sampling rate, a decimator component capable of receiving the values for the input parameters sampled at the first sampling rate and of providing subsampled values for the input parameters, subsampled values being sampled at a second sampling rate, the second sampling rate been slower than the first sampling rate, an adaptive plant estimator component capable of receiving the subsampled values of the input parameters and of obtaining a model of the system, the model reflecting variations in the system.

As disclosed in U.S. patent application Ser. No. 11/553,917 (attorney docket 31953-104), in another embodiment, the method of these teachings includes sampling an output signal from a system and an input signal from the system, obtaining, from the sampled output signal and the sampled input signal, values for a predetermined finite number of rows and columns from an inverse matrix and a predetermined finite number for a row vector in a least-squares solution, and obtaining, from the values for the predetermined finite number of rows and columns from an inverse matrix and the predetermined finite number for a row vector in a least-squares solution, a model for the system. Once a model of the system is obtained, an adaptive control method can be implemented.

In one instance, shown in FIG. 2 b, the model parameters could be estimated, by a model parameter estimator 125, along with the state and load current estimator 120.

As disclosed in U.S. patent application Ser. No. 11/553,917 (attorney docket 31953-104), in one exemplary embodiment, these teachings not being limited to that exemplary embodiment, parameters of the system 25 (DC-to-DC power supply) vary slowly. Therefore it is possible to make the parameter updates a slower, offline computation. In a state estimator design, an analog-to-digital converter (ADC) measures the output and input (and intermediate in some embodiments) voltages in the power supply 25. The ADC results are also used by auto- and cross-correlators to measure the behavior of the power supply 25. The parameter computation are done offline at a lower sampling rate. This lowers the cost of those tasks, because the digital logic can be in the form of a simple micro-sequencer.

In another embodiment, shown in FIG. 2 c, the controller of these teachings also includes a load current estimating component 120. As disclosed in U.S. patent application Ser. No. 11/553,917 (attorney docket 31953-104), in one embodiment, the load current estimating component is capable of receiving the output signal sampled at the first sampling rate and state estimation data from the (adaptive) plant estimator component and of providing estimated load current data at a first sampling rate and another decimator component capable of receiving the estimated load current data at the first sampling rate and of providing estimated load current data at the predetermined operating rate to the non-linear controller 20.

In one instance, As disclosed in U.S. patent application Ser. No. 11/553,917 (attorney docket 31953-104),the ADC is an oversampling ADC, a Delta Sigma ADC in one embodiment, including a an oversampling modulator, delta-sigma modulator in the above embodiment, and a decimation filter. The oversampling modulator converts the analog input voltage into a high-speed, digital bit stream. The digital bit stream may be as little as one bit wide. Because the digital bit stream is sampled at a very high rate, it is possible to low-pass filter the bit stream and to recover a high-precision, lower-sample-rate representation of the analog signal.

In one embodiment, the sampling component is a oversampling (sigma delta in one embodiment) modulator and the first sampling rate is an oversampled rate. In one embodiment, the input parameter obtaining component is an autocorrelation and crosscorrelation estimator. It should be noted that other embodiments of the input parameter obtaining component are possible and within the scope of these teachings. It should also be noted that embodiments are possible in which the oversampling (sigma delta in one embodiment) modulator provides inputs to the state estimator and the load estimator.

In many applications, including the DC-to-DC converter application, and in particular for embodiments utilizing the cross- and autocorrelation functions, the decimation filter (decimator) function can be built-in. This reduces the cost because a one-bit multiplier is just a single gate, while a high-precision digital multiplier can be a costly design.

It should be noted that, although the embodiments shown above have not been explicitly adaptive, adaptive embodiments of the non-linear controller are possible and within the scope of these teachings. For example, once the states are estimated, as in FIGS. 2 a and 2 b, the cost function can be adapted to the identified states and the nonlinear controller can be an adaptive nonlinear controller. In the embodiment shown in FIG. 2 e, the memory used is not a ROM but instead a RAM, which is altered by an adaptive component.

In another embodiment shown in FIG. 2 f, correction logic is used to include the information gained from state estimation. The correction logic adjusts the RAM contents by measuring the error from the prediction of the current state based on the last state and the real measurement of the current state.

In a another embodiment, shown in FIG. 2 c, the future load is predicted from the trends in the past load current by means of a load current predictor 130. This type of prediction can be done, in one instance, by a FIR or finite impulse response filter and, in another instance, by an infinite impulse response filter (or IIR filter). The filter coefficients could be determined, in one instance, by an LMS like algorithm and, in another instance, by an RLS like algorithm. It should be noted that these teachings are not limited to only those two algorithms. Other algorithms, such as, but not limited to, neural networks, can also be used for prediction. (See, for example, S. Haykin, Introduction to Adaptive Filters, ISBN 0-02-949460-5, pp. 41-89, which is incorporated by reference herein.)

In another instance, shown in FIG. 2 d, information indicating that the load is about to have an abrupt change can be obtained. This input could be processed by a load curve predictor 140 a. In one embodiment, the load current predictor is a nonlinear look up table In another embodiment techniques such as those described by John Canfield's Ph.D., thesis, Electrical Engineering, U.N.H, 2003, which is hereby incorporated by reference in its entirety, are used. A nonlinear lookup table technique such as the cerrebular model articulation controller (CMAC) is used in one embodiment.

An exemplary embodiment is described below in order to better illustrate the system of these teachings. The exemplary embodiment uses a buck converter topology. However the methods of these teachings are applicable to any generic converter of buck, boost, or buck-boost, forward, fly-back, SEPIC, cuk, etc type.

In one embodiment, the resultant control law is implemented as a state-space static compensator described by a lookup table. This result provides a better understanding of the nature of the optimal control surface (e.g. degree of nonlinearity, area of the map that is saturated) which is important in order to understand the representation requirements of an optimal compensator implementation.

In another embodiment, the resultant control law is implemented as a compensator described by a polynomial function of the state variables. In one instance, the coefficients of the polynomial function of the state variables are stored in a memory (similar to a lookup table). In other instances, are dedicated component receives the state variable values and implements the computation of the polynomial function.

The embodiment of the time-optimal compensator of these teachings derived below is based on the model of the buck regulator shown in FIG. 1 a. It should be noted that this is not a limitation of these teachings and other regulators are within the scope of these teachings. The model is comprised of a linear LC filter which includes the effects of inductor and capacitor series resistances. It is important to note that the model could be easily extended to include other nonlinear effects (e.g. inductor saturation) and still be used directly in the design process described hereinbelow.

Referring to FIG. 1 a, a nonlinear controller 20 provides a duty cycle 45 to a pulse width modulator (PWM) 30. The nonlinear controller 20 receives as inputs the output from a switching power supply 25 and a number of switching power supply internal state variables, for example, in the embodiment shown in FIG. 1 a, the voltage at the inputs to the circuit including the two or more reactive components 65, Vsw, the current through the inductor 60, the load current 55 and the output voltage 50.

FIG. 1 b depicts the embodiment in which the nonlinear controller is implemented as a memory 22 (a ROM in the instance shown). The memory is used to implement a lookup table (a data structure stored said memory, the data structure including a number of duty cycles, each duty cycle having one or more corresponding predetermined switching power supply state variables; each duty cycle, when provided to the PWM of the switching power supply, enables obtaining a predetermined switching power supply output.

To aid in better understanding the embodiment of the system of these teachings shown in FIG. 1 b, an embodiment of a conventional linear controllers such as that of FIG. 1, is shown in FIG. 1 e. A conventional linear controller for a buck converter (shown in FIG. 1) consists of feeding back an error signal that is composed of two components, as shown in FIG. 1 e. The first component is a linear gain multiplied by the difference between the desired output voltage minus the measure output voltage. The second component is a gain multiplied by the inductor current. These two components are added together to form the duty cycle input to a pulse width modulator, PWM. As an alternative, the derivative of the output voltage could be used instead of the inductor current. The voltage feedback provides for the correct regulations set point. The voltage feedback forces the output voltage toward the same value as a reference voltage. The current or voltage derivative feedback is used to stabilize the loop by adding phase lead to the feedback loop. In this way, the voltage gain can be larger while maintaining closed loop stability.

The equation that represents this linear feedback controller is simply:

d=Kv (Ref−V)−KiI

-   -   Where:         -   d is the duty cycle command to the PWM         -   V is the voltage feedback         -   I is the current feedback         -   Ref is the reference voltage         -   Kv is the voltage gain         -   Ki is the current feedback

Instead of implementing this equation as an algebraic relationship, a read only memory, ROM, look up table could be used, as shown in FIG. 1 f. The analog representation of the voltage and current are converted to a digital representation by an analog to digital converter, ADC. The digital representation of the current and voltage is used to form the address to the memory. The output of the memory is used to control a digital PWM or a DAC driving a traditional analog PWM.

FIG. 1 c depicts the embodiment in which the nonlinear controller is implemented as one or more processors 27 and one or more computer usable media 32 having computer readable code embodied therein that causes the processors 27 to obtain a duty cycle as described herein above. The processor 27, the one or more computer usable media 32 and the inputs are operatively connected by means of an interconnection component (such as a computer bus). In one instance, the one or more processors 27 and the one or more computer usable media 32 are part of a DSP.

FIG. 1 d depicts the embodiment which the nonlinear controller is implemented as a piece wise linear approximation using a non-linear analog circuit 47 to determine the duty cycle. Many methods of implementing non-linear analog circuits (see, for example, Danial H. Sheingold, Nonlinear Circuit Handbook, published by Analog Devices, Inc. Norwood Mass., chapter 2 and, Dualibe, Carlos, Verleysen, M., Jespers, P, Design of Analog Fuzzy Logic Controllers in CMOS Technologies Implementation, Test and Application, ISBN-10: 1-4020-7359-3, both of which are incorporated by reference herein).

The equations describing this model can be easily formulated as a coupled set of linear differential equations. In state-space formulation these are given in equations (1) and (2). Notice that, in conventional systems, it is customary to derive a simplified set of operational equations by assuming that Vout is constant across each PWM cycle.

$\begin{matrix} \begin{matrix} {{\frac{\;}{t}\begin{bmatrix} {i_{L}(t)} \\ {v_{C}(t)} \end{bmatrix}} = {{\begin{bmatrix} \frac{R_{L} + R_{C}}{L} & {- \frac{1}{L}} \\ \frac{1}{C} & 0 \end{bmatrix}\begin{bmatrix} {i_{L}(t)} \\ {v_{C}(t)} \end{bmatrix}} +}} \\ {{\begin{bmatrix} \frac{1}{L} & \frac{R_{C}}{L} \\ 0 & \frac{1}{C} \end{bmatrix}\begin{bmatrix} {i_{L}(t)} \\ {v_{C}(t)} \end{bmatrix}}} \\ {= {{{Ax}(t)} + {{Bu}(t)}}} \end{matrix} & (1) \\ {\begin{bmatrix} {i_{L}(t)} \\ {v_{C}(t)} \end{bmatrix} = {{{\begin{bmatrix} 1 & 0 \\ R_{C} & 1 \end{bmatrix}\begin{bmatrix} {i_{L}(t)} \\ {v_{C}(t)} \end{bmatrix}} + {\lbrack 0\rbrack \begin{bmatrix} {i_{L}(t)} \\ {v_{C}(t)} \end{bmatrix}}} = {{Cx}(t)}}} & (2) \end{matrix}$

Considering a single PWM cycle, the state equations can be written as shown in equations (3) and (4) where the state-space trajectory is given by the sum of the natural exponential response and the convolution of the state transition matrix and the input vector.

$\begin{matrix} {\begin{bmatrix} {i_{L}\left( {t_{0} + t} \right)} \\ {v_{C}\left( {t_{0} + T} \right)} \end{bmatrix} = {{^{AT}\begin{bmatrix} {i_{L}\left( t_{0} \right)} \\ {v_{C}\left( t_{0} \right)} \end{bmatrix}} + {\int_{t_{0}}^{t_{0} + T}{^{A{({t - t_{0}})}}{{Bu}(t)}\ {t}}}}} & (3) \\ {{u(t)} = \begin{bmatrix} {V_{s}\left( {{u\left( t_{0} \right)} + {u\left( {t} \right)}} \right.} \\ {I_{out}(t)} \end{bmatrix}} & (4) \end{matrix}$

The fundamental significance of this result is that it provides a means of predicting the state variables (inductor current and output voltage) at the end of the PWM cycle as a function of the initial state variables, the duty cycle, and the fixed parameters as given by equation (5). Two techniques for solving (5) numerically have been utilized. However, it should be noted that these teachings are not limited to only these two techniques. In one instance, the solution is found via numerical integration of equations (3) and (4). Alternatively, in another instance, one can create an equivalent discrete time system with a sample time equivalent to the PWM rate which is valid for a given duty cycle command. The discrete time model can then be used to predict the state variables at the end of the PWM cycle. The numerical integration technique was computationally more efficient but both methods yielded identical results.

$\begin{matrix} {\begin{bmatrix} {i_{L}\left( {t_{0} + t} \right)} \\ {v_{C}\left( {t_{0} + T} \right)} \end{bmatrix} = {f\left( {{i_{L}\left( t_{0} \right)},{v_{C}\left( t_{0} \right)},R_{C},R_{L},V_{S},I_{out},C,L,} \right)}} & (5) \end{matrix}$

The exemplary embodiment shown hereinbelow utilizes dynamic programming. (However, it should be noted that these teachings are not limited to only this exemplary embodiment.) Dynamic programming is an optimization technique based on the Bellman Optimality Principle which, in essence, states that the optimal path from any intermediate state to some final state is independent of the control decisions which occurred prior to entering the intermediate state. The practical significance of the Bellman Principle is that it allows one to work backwards in time to consider the optimal path to the final state. This results in a drastic reduction in required computation. The dynamic programming task as implemented here can be divided into the following four steps:

-   -   Quantization of State-space and Control Input     -   Construction of State Transition Map     -   Construction of Global Cost Function     -   Derivation of Optimal Control Surface

In order to implement a dynamic programming solution, it is necessary to quantize the state-space and control variables in both amplitude and time. The time quantization is selected to coincide with the PWM cycle.

The State Transition Map is a three dimensional mapping as defined by the solution to equation (5). The state transition map predicts the next quantized state as a function of the previous quantized state for all permissible duty cycle commands. Thus, the state transition map is a lookup table with dimensions Ni×Nv×Nd. The state transition map is computed by exhaustively filling the table based on numerical solution of equation (5). Values of commanded duty cycle which result in a next state outside the bounds of the defined state-space are marked as illegal controls for that state.

The Global Cost Function is a scalar valued function defined over the state-space. It provides the “cost” to transition from that state to the final target state (this is often referred to as the “cost-to-go”). In order to determine the global cost function it is necessary to provide a local cost function which appropriately penalizes each transition based on a function of the state and control input as shown in equation (6) where x(k) represents the state vector and u(k) represents the input vector.

$\begin{matrix} {{J\left( x_{0} \right)} = {{\sum\limits_{k = 0}^{M}{L\left( {{u(k)},{x(k)}} \right)}} + {\varphi \left( {N,x_{N}} \right)}}} & (6) \end{matrix}$

In the embodiment described hereinbelow, the cost function defined in equation (7) is used. The primary weighting provided by this cost function is on the number of steps taken to reach the desired target state. This corresponds to the time-optimal control and is represented in the cost function as the path cost M. There is an additional weighting placed on the error in the voltage state variable. The parameter α is chosen such that the voltage error weighting is much less than 1.0 for any location in state-space. This choice of parameter results in a primary weighting based on the number of steps in the trajectory, and a tie-breaking secondary weighting based on the voltage error. For example, if there are two paths that result in a total trajectory containing an equal number of steps, the voltage error weighting will result in the one with a smaller voltage excursion being chosen as the overall optimal path. However, a suboptimal time path will never be chosen to reduce the voltage excursion.

$\begin{matrix} {{J\left( {{\hat{v}}_{0},{\hat{i}}_{L}} \right)} = {{\alpha {\sum\limits_{k = 0}^{M}\left( {{v_{o}\lbrack k\rbrack} - v_{target}} \right)^{2}}} + M}} & (7) \end{matrix}$

The global cost function is represented with the syntax given in equation (7) where M represents the number of time steps in the optimal path beginning at state ({circumflex over (v)}_(o),î_(L)). The global cost function represents the total cost associated with beginning at state ({circumflex over (v)}_(o),î_(L)) and ending in the target state. The global cost function is computed using the state transition map, the cost function (7) and the Bellman Principle according to the following algorithm:

-   -   Initialize the Global Cost Function by letting J({circumflex         over (v)}_(target),î_(target))=0 and J({circumflex over         (v)}₀,î_(l))=¥. for all other points in the quantized         state-space. That is, there is zero error associated with being         in the target state and all other points are initialized to an         infinite cost.     -   For each discrete point ({circumflex over (v)}_(o)î_(L)) in the         state-space:     -   2a. For each possible control input di (quantized duty cycle):         -   2a′. Determine the next state ({circumflex over             (v)}_(0n),î_(Ln)) from the state transition map         -   2a″. Determine the experimental cost J_(i)=J({circumflex             over (v)}_(0n)î_(Ln))+({circumflex over (v)}₀−v_(target))²     -   2b. Let

${J\left( {{\hat{v}}_{0},{\hat{i}}_{L}} \right)} = {\min\limits_{i}\; {J_{i}.}}$

-   -   2c. Let U_(opt)({circumflex over (v)}_(o)î_(L))=d_(min)     -   3. If any values in the Global Cost Function changed value then         repeat step 2.

FIG. 4 depicts the above derived optimal control surface over the state-space. In this case, the state-space was quantized to 200 levels in each variable and the duty cycle was quantized to 100 levels. The target voltage and current were chosen to be 2.5V and 10 A respectively. Notice that over most of the state-space, the optimal control is saturated near full or zero duty cycle and only assumes intermediate values over a small transition band. This transition band corresponds to the switching curve of a time-optimal controller. The region of low duty cycles in the lower left hand corner is due to the fact that these are unreachable states and in reality, these should be arbitrarily set to be full duty cycle. Also, the map shown here was filtered using a two-dimensional, nonlinear median filter. The edge effects of this filtering create artifacts that are visible along the boundaries of the image.

It is informative to compare this optimal control surface with a time optimal control surface for a continuous-state, continuous-time plant. In that case, it is known that the optimal control is always saturated at its extremes and the controller can be completely described by switching curves which partition the state-space into regions of maximum control effort and minimum control effort (commonly referred to as “bang-bang” control). In this case, the time optimal solution contains intermediate controls along the pseudo-switching curve. The reason for this is due to the time quantization involved in the PWM problem. The time-optimal bang-bang control is only the optimal solution if the switching times are allowed to be arbitrary. In the case of a PWM controller, only control decisions at the PWM interval boundaries can be made. Therefore, when the state is close to the final state, the optimal control assumes the appropriate intermediate value to accommodate the time quantization. FIG. 5 depicts the optimal control surface as a gray-scale image mapped over state-space. The duty cycle is in percentage from 0 to 100%. Overlaid on the image are a series of 100 optimal trajectories beginning at random initial conditions in state-space.

This implementation of the embodiment of time-optimal controller described above is represented in a closed loop simulation of the buck converter. The simulation uses the block diagram shown in FIG. 6. The optimal controller is implemented as an interpolated lookup table based on the optimal control surface previously developed. A zero order hold is utilized to maintain the value of the lookup table as a constant across each PWM cycle.

This implementation of the above derived embodiment of the time-optimal controller of these teachings in a closed loop simulation of the buck converter is shown below. The simulation uses the block diagram shown in the following diagram. The optimal controller is implemented as an interpolated lookup table based on the optimal control surface previously developed. A zero order hold is utilized to maintain the value of the lookup table as a constant across each PWM cycle.

FIGS. 7 a, 7 b and 7 c show a typical closed loop transient response for the above derived embodiment of the time-optimal controller of these teachings. In this case, the output voltage starts low. The characteristic response is a sharp increase in inductor current followed by a sharp decrease in inductor current. This current pulse provides the charge required to increase the output capacitor to its target value

In another embodiment, the implementation of the nonlinear controller includes a component that implements another embodiment of the method for controlling a system described herein below. In that embodiment the method for controlling the system (a switching power supplies in an exemplary embodiment) includes a) predicting, utilizing a system model, values of system state variables at each of a predetermined number of time intervals; the system model receiving system state data at a predetermined initial time, (b) obtaining one value of the duty cycle at each of the predetermined number of time intervals; the one value being obtained from a predetermined polynomial function of at least one of the system state variables, (c) predicting system output at the each of the predetermined number of time intervals; the system output being predicted utilizing the system model; the system model utilizing output from the control signal providing component at the each of the predetermined number of time intervals, the output at the each of the predetermined number of time intervals corresponding to the one value of the duty cycle at the each of the predetermined number of time intervals, (d) substantially minimizing a cost function; the cost function being a function of a difference of the predicted system output and a predetermined desired system output and of the one value of the duty cycle at the each of the predetermined number of time intervals, (e) obtaining, from substantially minimizing of the cost function, one substantially optimal duty cycle at the each of the predetermined number of time intervals, (f) providing, at a time interval from the predetermined number of time intervals subsequent to the predetermined initial time, the one substantially optimal duty cycle at the time interval to the pulse width modulator, (g) obtaining system state data at a time substantially equal to a sum of the predetermined initial time and time interval subsequent to the predetermined initial time, and repeating steps a) through g) for another predetermined time substantially equal to the sum of the predetermined initial time and time interval subsequent to the predetermined initial time. In one instance, the implementation of the embodiment nonlinear controller of these teachings includes one or more processors and a computer usable medium having computer readable code embodied therein that causes the one or more processors to execute the embodiment of the mess of these teachings described herein above.

In one instance, the polynomial function shown in FIG. 1 h is utilized in the methods described herein above. In that instance, In one exemplary embodiment, these teachings not being limited to only that exemplary embodiment, the duty cycle is given by

Kv*Vc+Kv2*Vc²+Kv3*Vc³+Ki*ind+Ki2*ind²+Ki3*ind³.

In another exemplary embodiment, these teachings not being limited to only that exemplary embodiment, the duty cycle is given by

Kv*Vc+Kv2*sign(Vc)*Vc²+Kv3*Vc³+Ki*ind+Ki2*sign(ind)*ind²+Ki3*ind³.

In another exemplary embodiment, these teachings not being limited to only that exemplary embodiment, the duty cycle is limited to the maximum control effort. In that embodiment their duty cycle is given by

Kv*Vc+Kv2*sign(Vc)*Vc²+Kv3*Vc³+Ki*ind+Ki2*sign(ind)*ind²+Ki3*ind³.

If the value of the expression is greater or equal to zero and is less then or equal to 100% duty cycle, then the duty cycle is assigned the value of the expression. If the value of the expression is less than zero, the duty cycle is assigned to zero. If the value of the expression is greater than 100%, the duty cycle is assigned to 100%.

It should be noted that although the above disclosed polynomial functions do not include cross terms (of the form Vc times ind and other powers of the cross variables), the present teachings are not limited to only those embodiments.

In one instance, the cost function is a weighted RMS output voltage error and, in one instance, the constrained quadratic programing problem is solved in order to substantially minimize the value of the cost function.

In utilizing the above described embodiment of the controller of these teachings, the switching power supply includes a circuit comprising at least two reactive components configured to provide an output voltage and capable of being switched from one output state to another output state, a switching component capable of switching the circuit between at least two switching states, the at least two switching states including the one output state and the other voltage state, a pulse width modulator capable of receiving a duty cycle and of driving the switching component in order to cause switching between two of the at least two switching states, and the embodiment of the nonlinear controller of these teachings.

In another instance, the above embodiment of a controlled switching power supply can include a state estimation component capable of receiving an output voltage and an input to a switching power supply and of providing an estimate of states in a state model of the switching power supply. Estimators described hereinabove and in the references cited hereinabove may be used, although these teachings are not limited to only those estimators.

In an exemplary application, the present teachings are applied to a nonlinear buck converter control problem. In that instance, a control law based on looking ahead several samples (PWM half cycles) is formulated and the required duty cycle is optimize. The above described steps of the embodiment of the method of these teachings can be re-expressed as:

-   1) Obtaining a model of the buck converter that uses the next N duty     cycle inputs and the current state (voltage and current) to predict     the output voltage error for the next N PWM half cycles. -   2) Solving the constrained quadratic programming problem to minimize     the weighted RMS output voltage error for the next N sample. -   3) Implementing a feedback controller using the next duty cycle from     the N duty cycle list -   4) Measuring the resulting state (output voltage and current), and -   5) Repeating steps 1 through 4 using the measured state as the new     current state.     The polynomial approximation to the next duty cycle versus present     state (capacitor voltage, inductor current) shown in FIG. 1 i is     utilized in the above implementation. Exemplary results for the     nonlinear buck converter control problem are shown in FIGS. 8 a     through 8 c.

Although these teachings have been described with respect to various embodiments, it should be realized these teachings is also capable of a wide variety of further and other embodiments within the spirit and scope of the appended claims. 

1. A controller comprising: a nonlinear controller component capable of providing, over each time interval from a plurality of time intervals, an amplitude determining input signal to a control signal providing component; said control signal providing component providing an output having a predetermined amplitude; said amplitude determining input signal corresponding to at least one predetermined system state variable; said nonlinear controller component being operatively connected to receive as inputs at least one predetermined system state variable; a relationship between said amplitude determining input signal and at least one predetermined system state variable being obtained by optimizing a predetermined function of said amplitude determining input signal and internal states.
 2. The system of claim 1 wherein said nonlinear controller component comprises a memory for access by an application component, said memory comprising: a data structure stored said memory, said data structure comprising: a plurality of amplitude determining input signals, each amplitude determining input signal in said plurality of amplitude determining input signal having a corresponding at least one predetermined system state variable; said amplitude determining input signal, when provided to the control signal providing component, enables obtaining a predetermined system output.
 3. The controller of claim 1 wherein said nonlinear controller component comprises; at least one processor; and at least one computer usable medium having computer readable code embodied therein, said computer readable code being capable of causing said at least one processor to: apply an optimization technique to minimize a predetermined function; and obtain, from applying the optimization technique, the relationship between amplitude determining input signals and at least one predetermined system state variable.
 4. The controller of claim 1 wherein said relationship is obtained by minimizing said predetermined function utilizing dynamic programming.
 5. The controller of claim 1 wherein said predetermined function is subject to at least one constraint.
 6. The controller of claim 1 wherein said relationship is obtained by minimizing said predetermined function utilizing optimization techniques.
 7. The controller of claim 1 further comprising: a state estimation component capable of receiving an output voltage and an input to a system and of providing an estimate of states in a state model of the system and an estimate of a output variables of said system.
 8. The controller of claim 7 further comprising a output variables predictor receiving an estimate of at least one present output variable from said state estimator component; said output variables predictor being capable of predicting at least one future output variables value.
 9. The controller of claim 8 wherein said output variables predictor comprises a digital filter.
 10. The controller of claim 9 wherein said digital filter is a finite impulse response filter.
 11. The controller of claim 9 wherein said digital filter is an infinite impulse response filter.
 12. The controller of claim 9 wherein filter coefficients of said filter are determined by an LMS type algorithm.
 13. The controller of claim 9 wherein filter coefficients of said filter are determined by an RLS type algorithm.
 14. The controller of claim 8 wherein said output variables predictor receives an input signal indicating future occurrence of a sudden change in load; said output variables predictor being capable of predicting said at least one future output variable value after occurrence of the sudden change in load.
 15. The controller of claim 14 wherein said output variables predictor utilizes a nonlinear lookup table.
 16. The controller of claim 15 wherein said nonlinear lookup table is implemented by means of a neural network.
 17. The controller of claim 8 wherein said nonlinear controller component comprises a memory for access by an application component, said memory comprising: a data structure stored said memory, said data structure comprising: plurality of amplitude determining input signals, each amplitude determining input signal in said plurality of amplitude determining input signals having a corresponding at least one predetermined system state variable; said each amplitude determining input signal, when provided to the control signal providing component of the system, enables obtaining a predetermined system output.
 18. The controller of claim 2 wherein said nonlinear controller component comprises: at least one processor; and at least one computer usable medium having computer readable code embodied therein, said computer readable code being capable of causing said at least one processor to: apply an optimization technique to minimize the predetermined function; and obtain, from applying the optimization technique, the relationship between amplitude determining input signal and at least one predetermined system state variable.
 19. The controller of claim 18 wherein said optimization technique is dynamic programming.
 20. The controller of claim 18 wherein said optimization technique is selected from the group consisting of model predictive control, genetic programming, simulated annealing, exhaustive numerical search, and neural networks.
 21. The controller of claim 1 wherein said nonlinear controller component comprises; a plurality of comparators, said plurality of comparators operatively connected to provide a substantially piecewise linear approximation to said relationship between duty cycle and at least one predetermined switching power supply state variable.
 22. The controller of claim 1 wherein said nonlinear controller component comprises a component for obtaining a value of said amplitude determining input signal by evaluating a predetermined polynomial function of at least one system state variable at a predetermined value of said at least one system state variable; said value of said amplitude determining input signal corresponding to said predetermined value of said at least one system variable; said value of said one amplitude determining input signal, when provided to the control signal providing component enables obtaining a predetermined system output.
 23. The controller of claim 22 wherein the system is a switching power supply, the amplitude determining input signal is a duty cycle and the control signal providing component is a pulse width modulator (PWM).
 24. The controller of claim 22 wherein said nonlinear controller component comprises a memory for access by an application component, said memory comprising coefficients of said predetermined polynomial function.
 25. The controller of claim 3 wherein, in causing said at least one processor to apply an optimization technique, said computer readable code causes said at least one processor to: a) predict, utilizing a system model, values of system state variables at each of a predetermined number of time intervals from said plurality of time intervals; said system model receiving system state data at a predetermined initial time; b) obtain one value of said amplitude determining input signal at said each of said predetermined number of time intervals; said one value being obtained from a predetermined polynomial function of at least one of said system state variables; c) predict system output at said each of said predetermined number of time intervals; said system output being predicted utilizing said system model; said system model utilizing output from said control signal providing component at said each of said predetermined number of time intervals; said output at said each of said predetermined number of time intervals corresponding to said one value of said amplitude determining input signal at said each of said predetermined number of time intervals; d) substantially minimize a cost function; said cost function being a function of a difference of said predicted system output and a predetermined desired system output and of said one value of said amplitude determining input signal at said each of said predetermined number of time intervals; e) obtain, from said substantially minimizing of said cost function, one substantially optimal amplitude determining input signal at said each of said predetermined number of time intervals; f) provide, at a time interval from said predetermined number of time intervals subsequent to said predetermined initial time, said one substantially optimal amplitude determining input signal at said time interval to said control signal providing component; g) obtain system state data at a time substantially equal to a sum of said predetermined initial time and time interval subsequent to said predetermined initial time; and h) repeat steps a) through g) for another predetermined time substantially equal to said sum of said predetermined initial time and time interval subsequent to said predetermined initial time.
 26. The controller of claim 25 wherein the system is a switching power supply, the amplitude determining input signal is a duty cycle and the control signal providing component is a pulse width modulator (PWM).
 27. The controller of claim 25 wherein, in causing said processor to obtain system state data, said computer readable code causes said processor to estimate system state data from system output and system input.
 28. A method for controlling a system, the method comprising the steps of: minimizing a function of system output and internal states of the system; obtaining, from said minimizing, the relationship between amplitude determining input signals and at least one predetermined system state variable; providing an amplitude determining input signal to a control signal providing component in the system.
 29. The method of claim 28 wherein the step of minimizing the function comprises the step of utilizing dynamic programming to minimize the function.
 30. The method of claim 28 further comprising the step of: estimating at least some of the internal states and at least one output variable of the system; and utilizing results of estimating in minimizing the function.
 31. The method of claim 30 further comprising the step of estimating parameters for a model of the system.
 32. A method for controlling a system, the method comprising the steps of: a) predicting, utilizing a system model, values of system state variables at each of a predetermined number of time intervals from said plurality of time intervals; said system model receiving system state data at a predetermined initial time; b) obtaining one value of said amplitude determining input signal at said each of said predetermined number of time intervals; said one value being obtained from a predetermined polynomial function of at least one of said system state variables; c) predicting system output at said each of said predetermined number of time intervals; said system output being predicted utilizing said system model; said system model utilizing output from said control signal providing component at said each of said predetermined number of time intervals; said output at said each of said predetermined number of time intervals corresponding to said one value of said amplitude determining input signal at said each of said predetermined number of time intervals; d) substantially minimizing a cost function; said cost function being a function of a difference of said predicted system output and a predetermined desired system output and of said one value of said amplitude determining input signal at said each of said predetermined number of time intervals; e) obtaining, from said substantially minimizing of said cost function, one substantially optimal amplitude determining input signal at said each of said predetermined number of time intervals; f) providing, at a time interval from said predetermined number of time intervals subsequent to said predetermined initial time, said one substantially optimal amplitude determining input signal at said time interval to said control signal providing component; g) obtaining system state data at a time substantially equal to a sum of said predetermined initial time and time interval subsequent to said predetermined initial time; and h) repeating steps a) through g) for another predetermined time substantially equal to said sum of said predetermined initial time and time interval subsequent to said predetermined initial time.
 33. The method of claim 32 wherein the step of obtaining system data comprises the step of estimating system state data from system output and system input.
 34. A switching power supply comprising: a circuit comprising at least two reactive components configured to provide an output voltage and capable of being switched from one output state to another output state; a switching component capable of switching said circuit between at least two switching states, said at least two switching states comprising said one output state and said another voltage state; a pulse width modulator capable of receiving a duty cycle and of driving the switching component in order to cause switching between two of said at least two switching states; and a nonlinear controller component capable of providing a duty cycle to said pulse width modulator, said duty cycle corresponding to at least one predetermining switching power supply state variable; said nonlinear controller comprising: at least one processor; and at least one computer usable medium having computer readable code embodied therein, said computer readable code causing said at least one processor to: a) predict, utilizing a system model, values of system state variables at each of a predetermined number of time intervals from a plurality of time intervals; said system model receiving system state data at a predetermined initial time; b) obtain one value of said duty cycle at said each of said predetermined number of time intervals; said one value being obtained from a predetermined polynomial function of at least one of said system state variables; c) predict system output at said each of said predetermined number of time intervals; said system output being predicted utilizing said system model; said system model utilizing output from said control signal providing component at said each of said predetermined number of time intervals; said output at said each of said predetermined number of time intervals corresponding to said one value of said duty cycle at said each of said predetermined number of time intervals; d) substantially minimize a cost function; said cost function being a function of a difference of said predicted system output and a predetermined desired system output and of said one value of said duty cycle at said each of said predetermined number of time intervals; e) obtain, from said substantially minimizing of said cost function, one substantially optimal duty cycle at said each of said predetermined number of time intervals; f) provide, at a time interval from said predetermined number of time intervals subsequent to said predetermined initial time, said one substantially optimal duty cycle at said time interval to said pulse width modulator; g) obtain system state data at a time substantially equal to a sum of said predetermined initial time and time interval subsequent to said predetermined initial time; and h) repeat steps a) through g) for another predetermined time substantially equal to said sum of said predetermined initial time and time interval subsequent to said predetermined initial time; said nonlinear controller component being operatively connected to receive as inputs at least one predetermined switching power supply state variable.
 35. The system of claim 34 further comprising: a state estimation component capable of receiving an output voltage and an input to a switching power supply and of providing an estimate of states in a state model of the switching power supply. 